Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for parallel read and write #188

Merged
merged 18 commits into from
Jan 13, 2025

Conversation

kp-mariappan-ramasamy
Copy link
Contributor

@kp-mariappan-ramasamy kp-mariappan-ramasamy commented Jan 6, 2025

Description

WolfSSL start supporting read/write in multiple threads
This PR is add support to Lightway-core to use those capability.

Related PRs:
wolfSSL/wolfssl#7796
wolfSSL/wolfssl#8284

This PR introduces a compilation macro HE_ENABLE_MULTITHREADED, which should be defined if apps want to enable multi threaded support.
If not defined, lightway core should behave exactly as similar as earlier

Motivation and Context

Make lightway core multithreaded capable

How Has This Been Tested?

Tested manually using Windows app

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • All active GitHub checks are passing
  • The correct base branch is being used, if not main

@CLAassistant
Copy link

CLAassistant commented Jan 6, 2025

CLA assistant check
All committers have signed the CLA.

@kp-mariappan-ramasamy kp-mariappan-ramasamy force-pushed the multi-thread-support branch 7 times, most recently from cc86fd4 to 5a94ee2 Compare January 7, 2025 07:59
@kp-mariappan-ramasamy kp-mariappan-ramasamy changed the title Multi thread support Add support for parallel read and write Jan 7, 2025
@kp-mariappan-ramasamy kp-mariappan-ramasamy marked this pull request as ready for review January 7, 2025 08:35
@kp-mariappan-ramasamy kp-mariappan-ramasamy requested a review from a team as a code owner January 7, 2025 08:35
@@ -367,7 +367,7 @@
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>./;./IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WOLFSSL_MIN_RSA_BITS=2048;WOLFSSL_MIN_ECC_BITS=256;HAVE_SECURE_RENEGOTIATION;WOLFSSL_DTLS_CH_FRAG;WOLFSSL_TLS13_MIDDLEBOX_COMPAT;WOLFSSL_DTLS_CH_FRAG;WOLFSSL_LIB;WOLFSSL_USER_SETTINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't need to add this here just leaving it in the header file its fine

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this for all other definitions too, since we use header file /?
If so, I would like to leave it in this PR and do a cleanup later removing all of these defines

src/he/conn.c Show resolved Hide resolved
Add atomic support for win and linux
- Add windows C11 flags with experimental atomic in win
- Link atomic lib for linux test
Using separate project file for now
@kp-mariappan-ramasamy kp-mariappan-ramasamy merged commit 9e867a4 into main Jan 13, 2025
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants